package cn.mapway.tools.rpc.model;

import lombok.Data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * ApiEntry
 * 一个API接口
 *
 * @author zhangjianshe@gmail.com
 */
@Data
public class ApiEntry {
    /**
     * 用于在生成过程中判断此接口是否输出
     */
    Boolean isValid;
    String name;
    List<String> methods;
    String url;

    /**
     * 输入参数的定义,key是参数的名称
     */
    Map<String, ApiParaDescription> inputParameters;
    /**
     * 接口的返回参数描述
     * 包括什么？
     * 1.存储在群居ExportContext 中的类型定义
     * 2.类型定义中需要的实际参数信息
     */
    ApiParaDescription returnParameter;

    public ApiEntry() {
        returnParameter = new ApiParaDescription();
        inputParameters = new HashMap<>();
        methods = new ArrayList<>();
    }
}
